// ============================== 导入依赖 ============================== //

import CORE from '@/CORE'
import BaseClass from '@api/base/model/LabelGroupDto'
import API from './API'

const BG_COLOR_LIST = [
  '#1AB0B4',
  '#7B8CEB',
  '#FCBF58',
  '#8C91AF',
  '#94993D',
  '#25686D',
  '#EB7195',
]

// ============================== 导出状态集 ============================== //

export default {
  // —————————————————————————————— 常量状态 —————————————————————————————— //

  /**
   * 接口
   */
  API,

  /**
   * 映射
   */
  MAP: {
    WORD: '标签分组', // 词语

    /**
     * 背景颜色列表
     */
    BG_COLOR_LIST,
  },

  /**
   * 字典
   */
  DICT: {
    /**
     * 类型
     */
    TYPE: [
      ['rongguang_label_area', `${CORE.MAP.REGION}标签`, 'rongguang_label_area', `${CORE.MAP.REGION}标签`],
      ['rongguang_label_seat', '工位标签', 'rongguang_label_seat', '工位标签'],
      ['rongguang_label_other', '其他', 'rongguang_label_other', '其他'],
    ],
  },

  /**
   * 首要开关
   *
   * 1. 初始化完成时调用
   * 2. 提交后刷新时调用
   */
  MAIN_START: 'startTree', // 'startInfo' 或 'startList' 或 'startOne' 或 ''

  /**
   * 初始单项
   *
   * 1. 初始存在，才能响应
   * 2. CORE.mixStore(store) 时使用
   * 3. setOne() 重置时使用
   * 4. openAdd() 新增时使用
   */
  INIT_ONE: CORE.initObj(BaseClass, {
    labelGroupName: '',
    parentId: undefined,
    parentName: '',
    parentCode: '',
    backgroundColor: BG_COLOR_LIST[0],
  }),

  /**
   * 结构树字段 (可增加)
   */
  TREE_FIELD: ['children', 'id', 'labelGroupName', 'labelGroupCode', 'typeValue', 'typeLabel'],
}
